package 翻转二叉树;

import 相同的树.TreeNode;
class Solution {
    public TreeNode invertTree(TreeNode root) {
        //当树为空树,不用翻转
        if(root == null){
            return root;
        }
        //当树中只有一个结点,不用翻转
        if(root.left == null && root.right == null){
            return root;
        }
        //创建结点tmp用来对左右树进行交换
        TreeNode tmp = root.left;
        root.left = root.right;
        root.right = tmp;
        //递归,对左子树进行翻转
        invertTree(root.left);
        //递归,对右子树进行翻转
        invertTree(root.right);
        //返回翻转后树的根结点
        return root;
    }
}